package com.quik.web.user.service;

import com.quik.entity.SysAccount;
import com.quik.entity.SysRoleRight;

import java.util.List;

/**
 * 功能说明：
 * 		帐户业务逻辑接口
 * 
 * @author jenny
 *
 */
public interface AccountService {

	/**
	 * 登录
	 * @param loginName
	 * @param password
	 * @return 如果登录成功，返回SysAccount对象，否则返回NULL
	 * @throws Exception
	 */
	public SysAccount login(String loginName, String password) throws Exception;
	
	/**
	 * 查询用户类型变量列表
	 * @return
	 * @throws Exception
	 */
	public List findUserTypeCode() throws Exception;
	
	/**
	 * 新增用户
	 * @param sysAccount
	 * @throws Exception
	 */
	public void addUser(SysAccount sysAccount) throws Exception;
	
	/**
	 * 检查工号是否重复  
	 * @param staffNo 
	 * @return 如果存在返回true, 否则else
	 * @throws Exception
	 */
	public boolean checkStaffNo(String staffNo) throws Exception;
	
	/**
	 * 检查登录名是否重复
	 * @param loginName
	 * @return 如果存在返回true, 否则else
	 * @throws Exception
	 */
	public boolean checkLoginName(String loginName) throws Exception;
	
	/**
	 * 根据查询条件查询用户总数
	 * @param userType
	 * @param staffNo
	 * @param loginName
	 * @return
	 * @throws Exception
	 */
	public int findUserCount(Integer userType, String staffNo, String loginName) throws Exception;
	
	/**
	 * 根据查询条件查询用户（分页）
	 * @param staffNo
	 * @param loginName
	 * @param page
	 * @param pageSize
	 * @return
	 * @throws Exception
	 */
	public List<SysAccount> findUser(Integer userType, String staffNo, String loginName, Integer page, Integer pageSize) throws Exception;
	
	/**
	 * 查询用户班次变量列表
	 * @return
	 * @throws Exception
	 */
	public List findClassesCode() throws Exception;
	
	public List<SysRoleRight> findRoleRightByUser(SysAccount user) ;
}
